Вы хотите
поджарить несколько тостов для предстоящей вечеринки. Имеется сковорода, на
которой может жариться одновременно k
тостов. Поджаривание тоста с одной стороны занимает 2 минуты. Будем считать,
что операции размещения тоста на сковороде, переворачивания и снятия тоста со
сковороды выполняются мгновенно.
Напишите
программу, вычисляющую минимальное время в минутах для поджаривания n тостов. Тосты нельзя снимать со
сковороды раньше или позже 2 минут, необходимых для поджаривания одной стороны.
Каждый тост нужно поджарить с обеих сторон.
Вход. В одной строке содержатся два целых числа n и k,
разделенных пробелом (0 ≤ n
≤ 1000, 1 ≤ k ≤ 50)
– количество тостов и вместимость сковороды.
Выход. Вывести
минимальное время в минутах для поджаривания n тостов.
Пример
входа |
Пример
выхода |
3 2 |
6 |
элементарная
задача
Анализ алгоритма
Если n = 0, то ответ 0.
Если количество тостов n не больше вместимости сковороды k (n ≤ k), то на поджаривание уйдет 4
минуты.
Поскольку поджаривать тосты следует с обеих сторон, то всего
прожарить следует сторон тостов. Одна
прожарка на сковороде занимает 2 минуты времени.Тогда при n > k количество минут, за которое можно
поджарить n тостов, равно 2 * .
Пример
Пусть имеется n = 3 тоста, на сковородке помещается k = 2 тоста. Обозначим стороны тостов 1a, 1b, 2a, 2b, 3a, 3b.
Тогда пожарить
все 6 сторон за 6 минут можно следующим образом:
·
Первая поджарка: 1a 2a – 2 минуты;
·
Вторая поджарка: 1b 3a – 2 минуты;
·
Третья поджарка: 2b 3b – 2 минуты;
Реализация алгоритма
Читаем входные
данные.
scanf("%d %d",&n,&k);
Если n = 0, то ответ 0.
if (!n) res = 0; else
Если количество тостов не больше вместимости сковороды, то на
поджаривание уйдет 4 минуты.
if (n <= k) res = 4; else
{
Поджаривать тосты следует с обеих сторон. Всего прожарить
следует сторон тостов. Следует
также помнить, что одна прожарка занимает 2 минуты времени.
res = 2 * n / k;
if (2 * n %
k) res++;
res *= 2;
}
Выводим ответ.
printf("%d\n",res);
Java реализация
import java.util.*;
public class Main
{
public static void main(String []args)
{
Scanner con = new
Scanner(System.in);
int n = con.nextInt();
int k = con.nextInt();
int res;
if (n == 0) res = 0; else
if (n <= k) res = 4; else
{
res = 2 * n / k;
if (2 * n % k > 0) res++;
res *= 2;
}
System.out.println(res);
con.close();
}
}